#ifndef EVENTSERVE_H_
#define EVENTSERVE_H_
#include <ros/ros.h>
#include <cmath>
#include "trigger_response/event.h"
#include "nav_msgs/Odometry.h"
#include "std_msgs/Int32.h"
#include <mutex>


using namespace std;
class require{
private:
    ros::NodeHandle nh_;
    ros::ServiceClient client;

    ros::Subscriber air_odom_sub;
    ros::Subscriber car_odom_sub;
    ros::Subscriber robot_odom_sub;
    ros::Subscriber list_service_sub;

    std::vector<float> air_pose;
    std::vector<float> car_pose;
    std::vector<float> robot_pose;
    std::mutex air_pose_mutex;
    std::mutex car_pose_mutex;
    std::mutex robot_pose_mutex;

    int respose_;
    string Nodename_;

    int robotEType;
    float robot_x;
    float robot_y;
    float robot_z;

public:
    require(const ros::NodeHandle &nh,const string& nodeName);
    void ListServiceCallback(const std_msgs::Int32::ConstPtr& msg);
    void odomCallback(const nav_msgs::Odometry::ConstPtr& msg);
};

#endif